// STL
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<exception>
#include<list>
#include<vector>
#include<memory>
#include<cstddef>
#include<ctime>
#include <chrono>
// Third-party
#include<GL\glew.h>
#include<ft2build.h>
#include FT_FREETYPE_H
#include FT_GLYPH_H
#include FT_BITMAP_H
#include<IL\il.h>

#include"UIException.h"
// what not
#define null nullptr
#define BEGIN_NAMESPACE(x) namespace x {
#define END_NAMESPACE }
typedef unsigned char ubyte;
typedef char byte;
typedef unsigned int uint;
typedef unsigned short ushort;

#ifndef _DEBUG
#define NDEBUG
#endif